using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace RDD
{
    class Articulo
    {
        #region propiedades
        private string _ArticuloID;
        private string _Nombre;
        private string _Descripcion;
        private string _Fruta;

        public string ArticuloID
        {
            get { return _ArticuloID; }
            set { _ArticuloID = value; }
        }
        public string Nombre
        {
            get { return _Nombre; }
            set { _Nombre = value; }
        }
        public string Descripcion
        {
            get { return _Descripcion; }
            set { _Descripcion = value; }
        }
        public string Fruta
        {
            get { return _Fruta; }
            set { _Fruta = value; }
        }
        #endregion Propiedades

        #region Constructores
        public Articulo()
        {
        }
        public Articulo(string pArticuloID)
        {
            ArticuloID = pArticuloID;
            leerRegistro();
        }
        public Articulo(DataSet dsDatos)
        {
            string tSql = "SELECT ArticuloID,Nombre,Descr, Fruta " +
                  "FROM " + Constantes.LIB400 + ".Articulo ORDER BY ArticuloID";
            accesoDatos400 p = new accesoDatos400();
            DataTable dt = new DataTable();
            dt = p.leerDatosSQL(tSql);
            dt.TableName = "Articulo";
            dsDatos.Tables.Add(dt);
        }
        #endregion

        #region Metodos Publicos
        public DataTable leerTodos(int pCiaCod)
        {
            string strSql = "SELECT T1.ArticuloID Referencia, Nombre FROM " + Constantes.LIB400 + ".ARTICULO T1 " +
                            "JOIN " + Constantes.LIB400 + ".ARTCIA T2 ON T1.ArticuloID = T2.ArticuloID " +
                            "WHERE CiaCod = " + pCiaCod +
                            " ORDER By Nombre";
            DataTable dt = new DataTable();
            accesoDatos400 p = new accesoDatos400();
            dt = p.leerDatosSQL(strSql);
            return dt;
        }
        public void insertarRegistro()
        {
            string tSql = "INSERT INTO " + Constantes.LIB400 + ".Articulo (ArticuloID, Nombre,Descr,Fruta) " +
                          "VALUES ('" + ArticuloID + "'" +
                          ",'" + Nombre + "'" +
                          ",'" + Descripcion + "'" +
                          ",'" + Fruta + "')";
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        public void actualizarRegistro()
        {
            string tSql = "UPDATE " + Constantes.LIB400 + ".Articulo SET " +
                          "Nombre = '" + Nombre + "', " +
                          "Descr = '" + Descripcion + "', " +
                          "Fruta = '" + Fruta + "' " +
                          "WHERE ArticuloID = '" + ArticuloID + "'";
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        public void borrarRegistro()
        {
            string tSql = "DELETE FROM " + Constantes.LIB400 + ".Articulo " +
                          "WHERE ArticuloID = '" + ArticuloID + "'";
            accesoDatos400 p = new accesoDatos400();
            int nRegs = p.ejecutarSQL(tSql);
        }
        public void leerRegistro()
        {
            string strSql = "SELECT * FROM " + Constantes.LIB400 + ".ARTICULO " +
                            "WHERE ArticuloID = '" + ArticuloID + "'";
            DataTable dt = new DataTable();
            accesoDatos400 p = new accesoDatos400();
            dt = p.leerDatosSQL(strSql);
            //Asignar valores a la clase
            DataRow fila = dt.Rows[0];
            Nombre = fila["Nombre"].ToString();
            Descripcion = fila["Descr"].ToString();
            Fruta = fila["Fruta"].ToString();
        }
        #endregion Metodos Publicos
    }
}
